/***********************************************************************
*
* Copyright (c) 2012-2022 Barbara Geller
* Copyright (c) 2012-2022 Ansel Sermersheim
*
* Copyright (c) 2015 The Qt Company Ltd.
* Copyright (c) 2012-2016 Digia Plc and/or its subsidiary(-ies).
* Copyright (c) 2008-2012 Nokia Corporation and/or its subsidiary(-ies).
*
* This file is part of CopperSpice.
*
* CopperSpice is free software. You can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* version 2.1 as published by the Free Software Foundation.
*
* CopperSpice is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* https://www.gnu.org/licenses/
*
***********************************************************************/

#include <qsurface.h>
#include <qopenglcontext.h>

bool QSurface::supportsOpenGL() const
{
   SurfaceType type = surfaceType();
   return type == OpenGLSurface || type == RasterGLSurface;
}

QSurface::QSurface(SurfaceClass type)
   : m_type(type), m_reserved(nullptr)
{
}

QSurface::~QSurface()
{
#ifndef QT_NO_OPENGL
   QOpenGLContext *context = QOpenGLContext::currentContext();
   if (context && context->surface() == this) {
      context->doneCurrent();
   }
#endif
}


QSurface::SurfaceClass QSurface::surfaceClass() const
{
   return m_type;
}


